package com.uu.study;

import org.junit.Test;

public class BubbleSort {

    /**
     * 从小到大排序
     */
    public void bubbleSort(int [] a){
        for(int i = a.length - 1 ; i > 0 ; i--){
            boolean isChange = false;
            int ci = i;
            for(int j = i - 1 ; j >= 0 ; j--){
                if(a[j]  >  a[ci]){  // 大于，交换
                    int temp = a[ci];
                    a[ci] = a[j];
                    a[j] = temp ;

                    ci = j;

                    isChange = true;
                }
            }

            if(!isChange){ // 未发生变化，说明顺序已OK，返回
                return;
            }
        }
    }

   @Test
   public void test(){
       int[] array = {5, 6, 7, 1, 2, 3, 4};
       bubbleSort(array);
       for (int i = 0; i < array.length; i++) {
           System.out.print(array[i] + ",");
       }

   }
}
